const fs = require('fs');
const path = require('path');

/**
 * 递归复制目录
 * @param {string} src 源目录
 * @param {string} dest 目标目录
 */
function copyDir(src, dest) {
  try {
    // 确保目标目录存在
    if (!fs.existsSync(dest)) {
      fs.mkdirSync(dest, { recursive: true });
    }

    // 读取源目录
    const files = fs.readdirSync(src);

    files.forEach(file => {
      const srcPath = path.join(src, file);
      const destPath = path.join(dest, file);

      const stat = fs.statSync(srcPath);

      if (stat.isDirectory()) {
        copyDir(srcPath, destPath);
      } else {
        fs.copyFileSync(srcPath, destPath);
      }
    });

    console.log(`✓ 已复制 ${src} 到 ${dest}`);
  } catch (error) {
    console.error(`复制 ${src} 到 ${dest} 时出错:`, error.message);
    process.exit(1);
  }
}

// 复制 resource 目录到 out 目录
const resourceSrc = path.join(__dirname, '..', 'resource');
const resourceDest = path.join(__dirname, '..', 'out', 'resource');

if (fs.existsSync(resourceSrc)) {
  copyDir(resourceSrc, resourceDest);
} else {
  console.warn('警告: resource 目录不存在');
} 